/**
 * Copyright (c) Rui Figueira.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

const fs = require('fs');
const path = require('path');

const srcFile = path.join(__dirname, '..', 'playwright', 'packages', 'playwright', 'types', 'test.d.ts');
const destFile = path.join(__dirname, '..', 'src', 'types', 'test.d.ts');

const content = fs.readFileSync(srcFile, 'utf8');
const result = content
  // playwright-crx should not rely on playwright-core
  .replace(/'playwright-core'/g, `'./types'`)
  .replace(/\/\/ This file is generated by (.*)$/g, `This file is generated by ${path.basename(__filename)}`)
  .replace(/ \* Copyright \(c\) Microsoft Corporation./, [
    ' * Copyright (c) Microsoft Corporation.',
    ' * Modifications copyright (c) Rui Figueira.',
  ].join('\n'));

fs.writeFileSync(destFile, result, 'utf8');
